var can1;
var can2;

var cxt1;
var cxt2;

var canWidth;
var canHeight;

var lastTime;
var deltaTime;

var bgPic = new Image();

var ane;
var fruit;

var mom;
var babyObj;

var mx;
var my;

var babyTail = [];

var babyEye = [new Image(),new Image()];
var babyBody = [];

var data;

var wave;
var halo;

var dustPic = [];
var dust;

document.body.onload=game;
function game(){
	init();
	lastTime = Date.now();
	deltaTime=0;
	gameloop();
}

function init(){
	//获得canvas context
	can1 = document.getElementById("canvas1");//fishes,UI,circle
	ctx1 = can1.getContext("2d");
	can2 = document.getElementById("canvas2");//background,ane,dust,fruits
	ctx2 = can2.getContext("2d");

	can1.addEventListener('mousemove',onMouseMove,false);

	bgPic.src = "./src/background.jpg";

	canWidth = can1.width;
	canHeight=can1.height;

	ane = new aneObj();
	ane.init();

	fruit = new fruitObj();
	fruit.init();

	mom = new momObj();
	mom.init();

	baby = new babyObj();
	baby.init();

	mx = canWidth * 0.5;
	my = canHeight * 0.5;

	for(var i=0;i<8;i++){
		babyTail[i] = new Image();
		babyTail[i].src = "./src/babyTail"+i+".png";
	}

	for (var i = 0; i < 2; i++) {
		//babyEye[i] = new Image();
		babyEye[i].src = "./src/babyEye"+i+".png";
	}

	for (var i = 0; i < 20; i++) {
		babyBody[i] = new Image();
		babyBody[i].src = "./src/babyFade"+i+".png";
	}
	data = new dataObj();
	ctx1.fillStyle = "white";
	ctx1.font = "30px Verdana";
	ctx1.textAlign = "center";

	wave = new waveObj();
	wave.init();

	halo = new haloObj();
	halo.init();

	for(var i = 0; i < 7; i++){
		dustPic[i] = new Image();
		dustPic[i].src = "./src/dust"+i+".png";
	}
	dust = new dustObj();
	dust.init();
}

function gameloop(){
	requestAnimFrame(gameloop);//更科学，根据机器性能
	var now = Date.now();
	deltaTime = now - lastTime;
	lastTime = now;
	if(deltaTime > 40) deltaTime = 40;

	drawBackground();
	ane.draw();
	fruitMonitor();
	fruit.draw();

	ctx1.clearRect(0,0,canWidth,canHeight);
	baby.draw();
	mom.draw();
	momFruitsCollision();
	momBabyCollision();

	data.draw();
	wave.draw();
	halo.draw();
	dust.draw();
}
function onMouseMove(e){
	if(data.gameOver) return;
	if(e.offSetx || e.layerX){
		mx = e.offSetX == undefined?e.layerX:e.offSetX;
		my = e.offSetY == undefined?e.layerY:e.offSetY;
		//	console.log(mx+","+my);
	}
}
